package com.yanfan.zutai.domain;

import com.yanfan.common.annotation.Excel;
import com.yanfan.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.util.Date;
import java.util.List;


/**
 * 工单管理对象 b_work_order
 *
 * @author ruoyi
 * @date 2021-02-27
 */
@Data
public class BWorkOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id唯一标识
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * guid唯一标识
     */
    private String guid;

    /**
     * 部门id串(like查询)
     */
    private String deptIdStrs;

    /**
     * 工单编号(like)
     */
    @Excel(name = "工单编号")
    private String wordOrderNumber;

    /**
     * 设备编号(like查询)
     */
    @Excel(name = "设备编号")
    private String deviceMac;

    /**
     * 设备名称(like)
     */
    @Excel(name = "设备名称")
    private String deviceName;

    /**
     * 工单类型
     */
    private String workOrderType;

    /**
     * 工单信息
     */
    @Excel(name = "工单信息")
    private String workOrderMessage;

    /**
     * 工单状态
     */
    private String workOrderStatus;

    /**
     * 工单备注
     */
    @Excel(name = "工单备注")
    private String workOrderRemark;

    /**
     * 设备地址
     */
    @Excel(name = "设备地址")
    private String deviceAddress;

    /**
     * 工单管理、例行巡检、设备维保
     */
    private String type;

    /**
     * 关闭人
     */
    @Excel(name = "关闭人")
    private String shutPeople;

    /**
     * 关闭时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "关闭时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date shutTime;

    /**
     * 处理状态
     */
    @Excel(name = "处理状态", readConverterExp = "0=待处理,1=处理中,2=已完成,3=已作废")
    private Integer processState;
    /**
     * 处理结果
     */
    @Excel(name = "处理结果")
    private String treatmentResult;

    /**
     * 维保开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维保开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date maintenanceStartTime;

    /**
     * 维保结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维保结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date maintenanceEndTime;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    private List<BDeviceWarn> warnList;

    /**
     * 设备号/设备名称查询
     */
    private String deviceQuery;

    /**
     * 报警类型
     */
    @Excel(name = "报警类型")
    private String warnType;
    /*查询今天的数据*/
    private String deviceNow;
    /*查询组态的维修记录*/
    private String ztGuid;
    private List<String> imeiList;

    // 报警记录的id
    private Long warnId;
}
